package 实验三;

import 实验三.Course;
import 实验三.Teacher;
import 实验三.Student;

public class TestSystem {
    public static void main(String[] args) {
        // 1. 创建教师对象
        Teacher teacher = new Teacher("T001", "张教授", "男", null);
        // 2. 创建课程对象（关联教师）
        Course course = new Course("C001", "Java编程", "教学楼A101", "周一上午9:00-11:00", teacher);
        // 3. 给教师设置授课课程
        teacher = new Teacher("T001", "张教授", "男", course);
        // 4. 创建学生对象（关联课程）
        Student student = new Student("S001", "李同学", "女", course);

        // 验证继承与业务方法
        System.out.println(" 教师课表 ");
        teacher.printSchedule();
        System.out.println(" 学生课表 ");
        student.printSchedule();

        // 验证权限控制（若在不同包中，private/默认权限属性无法直接访问，需通过Getter方法）
        System.out.println("\n=权限控制验证=");
        System.out.println("教师姓名（通过Getter访问父类私有属性）：" + teacher.getName());
        System.out.println("学生所选课程名称（通过Getter访问子类属性）：" + student.getSelectedCourse().getName());
    }
}
